/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * 
 * 
 *
 * 
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;

using JDCloudSDK.Core.Annotation;

namespace JDCloudSDK.Apigateway.Model
{

    /// <summary>
    ///  debugApi
    /// </summary>
    public class DebugApi
    {

        ///<summary>
        /// assessKey：京东云用户、API调用者、订阅密钥key
        ///</summary>
        public string AssessKey{ get; set; }
        ///<summary>
        /// secretKey：京东云用户、API调用者
        ///</summary>
        public string SecretKey{ get; set; }
        ///<summary>
        /// 请求host
        ///Required:true
        ///</summary>
        [Required]
        public string Host{ get; set; }
        ///<summary>
        /// 请求uri,分组路径前缀+API请求路径，如：/todo/api/v1/creatApi
        ///Required:true
        ///</summary>
        [Required]
        public string Uri{ get; set; }
        ///<summary>
        /// 请求方式
        ///Required:true
        ///</summary>
        [Required]
        public string Method{ get; set; }
        ///<summary>
        /// 访问授权方式：None（免鉴权）,jd_cloud（京东云用户），jd_apikms（API调用者），jd_subscription_key（订阅密钥）
        ///Required:true
        ///</summary>
        [Required]
        public string AuthType{ get; set; }
        ///<summary>
        /// api所属region
        ///Required:true
        ///</summary>
        [Required]
        public string Region{ get; set; }
        ///<summary>
        /// query参数，用&amp;分隔，如：id&#x3D;1&amp;version&#x3D;v1
        ///</summary>
        public string QueryString{ get; set; }
        ///<summary>
        /// body参数，传json字符串的base64编码，例如body的值为：{&quot;title&quot;:&quot;desk&quot;,&quot;desc&quot;:&quot;cheap&quot;}，应传值为：&quot;eyJ0aXRsZSI6ImRlc2siLCJkZXNjIjoiY2hlYXAifQ&#x3D;&#x3D;&quot;
        ///</summary>
        public string Body{ get; set; }
        ///<summary>
        /// 请求格式类型,1:application/json,2:text/xml,3:其他
        ///Required:true
        ///</summary>
        [Required]
        public string ReqBodyType{ get; set; }
        ///<summary>
        /// 请求格式类型,当reqBodyType等于3时,使用该请求格式类型
        ///</summary>
        public string EditableReqBodyType{ get; set; }
        ///<summary>
        /// header参数，传json字符串
        ///</summary>
        public string HeaderString{ get; set; }
        ///<summary>
        /// 发布的环境信息，如：online,preview,test
        ///Required:true
        ///</summary>
        [Required]
        public string Environment{ get; set; }
        ///<summary>
        /// 是否API产品, 1为是
        ///</summary>
        public string IsApiProduct{ get; set; }
    }
}
